package com.ruoyi.system.service.sys;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.oss.SysOssBo;
import com.ruoyi.common.service.BaseService;
import com.ruoyi.common.utils.PageQuery;
import com.ruoyi.system.domain.sys.SysOss;
import com.ruoyi.system.vo.SysOssVo;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * OSS对象存储Service接口
 *
 * @author ruoyi
 * @date 2024-03-05
 */
public interface SysOssService extends BaseService<SysOss> {

    /**
     * 分页查询
     *
     * @param pageQuery 分页数据
     * @return 对象
     */
    Page<SysOss> findList(PageQuery<SysOss> pageQuery);


    /**
     * 查询数据
     *
     * @param model model
     * @return
     */
    List<SysOss> selectDataList(SysOss model);

    /**
     * 图片上传
     *
     * @param file file
     * @return SysOssVo
     */
    SysOssVo upload(MultipartFile file);

    /**
     * 下载文件
     *
     * @param ossId
     * @param response
     * @throws IOException
     */
    void download(String ossId, HttpServletResponse response) throws IOException;

    /**
     * 保存BO对象
     *
     * @param sysOssBo
     * @return
     */
    boolean saveBo(SysOssBo sysOssBo);
}
